package cn.aitrox.ry.service.anno.service;

import cn.aitrox.ry.bean.CommonPageInfo;
import cn.aitrox.ry.bean.RespResult;
import cn.aitrox.ry.service.anno.dto.user.task.in.TaskJoinableSearchInDto;
import cn.aitrox.ry.service.anno.dto.user.task.in.UserTaskSearchInDto;
import cn.aitrox.ry.service.anno.dto.user.task.out.UserTaskItemDto;
import cn.aitrox.ry.service.anno.dto.user.task.series.in.UserTaskSeriesSearchInDto;
import cn.aitrox.ry.service.anno.dto.user.task.series.out.UserTaskSeriesDto;

import java.util.List;

public interface UserTaskService {

    List<UserTaskItemDto> userDoingTaskList(Integer userId);

    CommonPageInfo<UserTaskItemDto> search(Integer userId, UserTaskSearchInDto input);

    CommonPageInfo<UserTaskItemDto> joinableSearch(Integer userId, TaskJoinableSearchInDto input);

    RespResult userTaskJoin(Integer userId, List<Integer> taskIds);

    CommonPageInfo<UserTaskSeriesDto> userTaskSeriesSearch(UserTaskSeriesSearchInDto input);

    RespResult<UserTaskItemDto> taskAnnoInfo(Integer taskId, Integer userId);
}
